1835A - k-th equality - CodeForces Solution


brute force implementation math

Please click on ads to support us..

C++ Code:

//#pragma GCC optimize ("O3")

#include <iostream>
#include <algorithm>

using namespace std;

void solve() {
	using ll = long long;

	auto min_val{[](int d) {
		ll mn{1};
		for (int i{1}; i < d; ++i) mn *= 10;
		return mn;
	}};
	auto max_val{[](int d) {
		ll mx{};
		for (int i{0}; i < d; ++i) mx = (mx * 10) + 9;
		return mx;
	}};

	int a, b, c; ll k;
	cin >> a >> b >> c >> k;

	ll mna{min_val(a)}, mnb{min_val(b)}, mnc{min_val(c)};
	ll mxa{max_val(a)}, mxb{max_val(b)}, mxc{max_val(c)};
	for (ll i{max(mna, mnc - mxb)}; i <= min(mxa, mxc - mnb); ++i) {
		ll mn{max(mnb, mnc - i)}, mx{min(mxb, mxc - i)};
		if (k <= mx - mn + 1) {
			cout << i << " + " << mn + k - 1 << " = " << (i + mn + k - 1) << '\n';
			return ;
		} else k -= mx - mn + 1;
	}
	cout << "-1\n";
}

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);
	
	int t{1};
	cin >> t;
	while (t--) solve();
}


Comments

Submit
0 Comments
More Questions

1A - Theatre Square
1614B - Divan and a New Project
791A - Bear and Big Brother
1452A - Robot Program
344A - Magnets
96A - Football
702B - Powers of Two
1036A - Function Height
443A - Anton and Letters
1478B - Nezzar and Lucky Number
228A - Is your horseshoe on the other hoof
122A - Lucky Division
1611C - Polycarp Recovers the Permutation
432A - Choosing Teams
758A - Holiday Of Equality
1650C - Weight of the System of Nested Segments
1097A - Gennady and a Card Game
248A - Cupboards
1641A - Great Sequence
1537A - Arithmetic Array
1370A - Maximum GCD
149A - Business trip
34A - Reconnaissance 2
59A - Word
462B - Appleman and Card Game
1560C - Infinity Table
1605C - Dominant Character
1399A - Remove Smallest
208A - Dubstep
1581A - CQXYM Count Permutations